<%
	//Info jsp
	/** 
	 * Pagina che salva una riga in una tabella contenendo i dati del volo selezionato dall'utente e la sua nazione (clicca su link opodo)
	 * @author Alessandro  Nasso
	 * @version  1.0
	 */
%>

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>

<%      //---------------- UseBean ------------ %>    
     <jsp:useBean id="ip2country" scope="page" class="beans.IP2Country" /> 
     <jsp:useBean id="verifica" scope="page" class="beans.VerificaCampi" />
<%	//------------------------------------- %>

<% 
   //verifico che i dati inviati siano validi
   String country, compagnia, destinazione, partenza, dataP, dataR, oraP, oraA, durata, agenzia, posti, classe, prezzo, tasse, id_a, id_r;

           id_a  = request.getParameter("and");
           id_r  = request.getParameter("rit");
           dataP = request.getParameter("dataA");
           dataR = request.getParameter("dataR");

 //------------------------------------------ verifica vari dati -------------------------------------------------------------

if(        ((dataP != null) && (dataP.compareTo("null") != 0) && (dataP.compareTo("") != 0) && verifica.verificaData(dataP))
        && ((dataR == null) || (dataR.compareTo("null") == 0) || (dataR.compareTo("") == 0) || verifica.verificaData(dataR))  
        && (verifica.verificaIdentVolo(id_a))
        && ((id_r == null) || (id_r.compareTo("null") == 0) || (id_r.compareTo("") == 0) || verifica.verificaIdentVolo(id_r) )
        ){
   //------------------- questo forse andrebbe nel javascript o nella pagina iniziale nei dati di sessione ----------------------------------------------

   // se non è dietro un proxy prende direttamente il valore dell'ip altrimenti usa getHeader("X-Forwarded-For") 
   // the proxy may include the requesting client IP in a special HTTP header
   String ipAddress = null;
   if (request.getHeader("X-Forwarded-For") == null) 
        ipAddress = request.getRemoteAddr();
   else 
        ipAddress = request.getHeader("X-Forwarded-For");		
         //out.print(ipAddress);
   //----------------------------------------------------------------------------------------------------------------------------------------------------
      country = ip2country.getCountryCode(ipAddress);
      if(country==null)
         country="IT";
      // out.print(country);
     
      String query="";

      if( ( (dataR != null) && (dataP.compareTo("null") != 0) && (dataP.compareTo("") != 0) ) && ((id_r != null) && (id_r.compareTo("null")!=0) && (id_r.compareTo("") != 0))){
//          query="INSERT INTO `voli_esterno` VALUES ('"+id_a+"',STR_TO_DATE('"+dataP+"','%d-%m-%Y'),'"+country+"'),('"+id_r+"',STR_TO_DATE('"+dataR+"','%d-%m-%Y'),'"+country+"');";
          query="insert into voli_dw select id, compagnia, partenza, destinazione, oraP, oraA, durata, agenzia, posti, classe, prezzo, tasse, curdate(), '"+country+"' from voli where id='"+id_a.substring(2)+"' and compagnia='"+id_a.substring(0, 2)+"' and date_format(date(oraP), '%d-%m-%Y')='"+dataP+"';"+
				"insert into voli_dw select id, compagnia, partenza, destinazione, oraP, oraA, durata, agenzia, posti, classe, prezzo, tasse, curdate(), '"+country+"' from voli where id='"+id_r.substring(2)+"' and compagnia='"+id_r.substring(0, 2)+"' and date_format(date(oraP), '%d-%m-%Y')='"+dataR+"';";
      }
      else
//          query="INSERT INTO `voli_esterno` VALUES ('"+id_a+"',STR_TO_DATE('"+dataP+"','%d-%m-%Y'),'"+country+"');";
          query="insert into voli_dw select id, compagnia, partenza, destinazione, oraP, oraA, durata, agenzia, posti, classe, prezzo, tasse, curdate(), '"+country+"' from voli where id='"+id_a.substring(2)+"' and compagnia='"+id_a.substring(0, 2)+"' and date_format(date(oraP), '%d-%m-%Y')='"+dataP+"';";

/*
             String query="INSERT INTO `voli_opodo` VALUES ("+id+",'"+country+"','"+compagnia+"','"+partenza+"','"+destinazione+"','"+dataR+" "+oraP+"','"+dataP+" "+oraA+"',"+durata+",'"+agenzia+"',"+posti+",'"+classe+"',"+prezzo+","+tasse+")";
*/

              // effettuo la query
	      request.setAttribute("prelievo", "false");
	      request.setAttribute("query", query);
              // out.print(query);
%>
    <jsp:include page="/gestore_query.jsp" />
<%
   } //fine if di verifica dei vari dati in input
//TODO in caso contrario  scrivere su un file di log che mancavano dei dati
%>

